模式定义
简单工厂模式又称为静态工厂方法,在简单工厂模式中可以根据参数的不同返回不同类的实例,简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常具有共同的父类。
模式结构
- Factory:工厂角色,负责实现创建所有实例的内部逻辑
- Product:抽象产品角色,是所创建的所有对象的父类,负责描述所有实例共有的公共接口
- ConcreteProduct:具体产品角色。
代码实现
Product抽象类
123public interface Product {void use();}Product类仅仅提供一个接口,具体不同的商品实现不同的use()方法。
ConcreteProductA
123456public class ConcreteProductA implements Product {public void use() {System.out.println("ConcreteProductA...");}}ConcreteProductB
123456public class ConcreteProductB implements Product {public void use() {System.out.println("ConcreteProductB...");}}SimpleFactory
12345678910public class SimpleFactory {public static Product createProduct(String name) {if (name.equals("A")) {return new ConcreteProductA();} else if (name.equals("B")) {return new ConcreteProductB();}return null;}}Test
123456public class Test {public static void main(String[] args) {Product product = SimpleFactory.createProduct("A");product.use();}}